home *** CD-ROM | disk | FTP | other *** search
/ Motor Sport Digital Archive Collection 1960s / Motor Sport Digital Archive Collection 1960s.iso / main.swf / scripts / mx / styles / StyleProtoChain.as < prev   
Encoding:
Text File  |  2008-05-21  |  5.5 KB  |  159 lines

  1. package mx.styles
  2. {
  3.    import flash.display.DisplayObject;
  4.    import mx.core.UIComponent;
  5.    import mx.core.UITextField;
  6.    import mx.core.mx_internal;
  7.    
  8.    use namespace mx_internal;
  9.    
  10.    public class StyleProtoChain
  11.    {
  12.       mx_internal static const VERSION:String = "2.0.1.0";
  13.       
  14.       public function StyleProtoChain()
  15.       {
  16.          super();
  17.       }
  18.       
  19.       public static function initProtoChainForUIComponentStyleName(param1:IStyleClient) : void
  20.       {
  21.          var _loc2_:IStyleClient = null;
  22.          var _loc3_:Object = null;
  23.          var _loc4_:Object = null;
  24.          var _loc5_:Array = null;
  25.          var _loc6_:int = 0;
  26.          var _loc7_:int = 0;
  27.          var _loc8_:CSSStyleDeclaration = null;
  28.          _loc2_ = IStyleClient(param1.styleName);
  29.          _loc3_ = _loc2_.nonInheritingStyles;
  30.          if(!_loc3_ || _loc3_ == UIComponent.mx_internal::STYLE_UNINITIALIZED)
  31.          {
  32.             _loc3_ = StyleManager.mx_internal::stylesRoot;
  33.             if(_loc3_.effects)
  34.             {
  35.                param1.registerEffects(_loc3_.effects);
  36.             }
  37.          }
  38.          _loc4_ = _loc2_.inheritingStyles;
  39.          if(!_loc4_ || _loc4_ == UIComponent.mx_internal::STYLE_UNINITIALIZED)
  40.          {
  41.             _loc4_ = StyleManager.mx_internal::stylesRoot;
  42.          }
  43.          _loc5_ = param1.getClassStyleDeclarations();
  44.          _loc6_ = int(_loc5_.length);
  45.          _loc7_ = 0;
  46.          while(_loc7_ < _loc6_)
  47.          {
  48.             _loc8_ = _loc5_[_loc7_];
  49.             _loc4_ = _loc8_.mx_internal::addStyleToProtoChain(_loc4_,DisplayObject(param1));
  50.             _loc4_ = addProperties(_loc4_,_loc2_,true);
  51.             _loc3_ = _loc8_.mx_internal::addStyleToProtoChain(_loc3_,DisplayObject(param1));
  52.             _loc3_ = addProperties(_loc3_,_loc2_,false);
  53.             if(_loc8_.mx_internal::effects)
  54.             {
  55.                param1.registerEffects(_loc8_.mx_internal::effects);
  56.             }
  57.             _loc7_++;
  58.          }
  59.          param1.inheritingStyles = !!param1.styleDeclaration ? param1.styleDeclaration.mx_internal::addStyleToProtoChain(_loc4_,DisplayObject(param1)) : _loc4_;
  60.          param1.nonInheritingStyles = !!param1.styleDeclaration ? param1.styleDeclaration.mx_internal::addStyleToProtoChain(_loc3_,DisplayObject(param1)) : _loc3_;
  61.       }
  62.       
  63.       private static function addProperties(param1:Object, param2:IStyleClient, param3:Boolean) : Object
  64.       {
  65.          var _loc4_:Array = null;
  66.          var _loc5_:int = 0;
  67.          var _loc6_:int = 0;
  68.          var _loc7_:Object = null;
  69.          var _loc8_:CSSStyleDeclaration = null;
  70.          var _loc9_:CSSStyleDeclaration = null;
  71.          _loc4_ = param2.getClassStyleDeclarations();
  72.          _loc5_ = int(_loc4_.length);
  73.          _loc6_ = 0;
  74.          while(_loc6_ < _loc5_)
  75.          {
  76.             _loc8_ = _loc4_[_loc6_];
  77.             param1 = _loc8_.mx_internal::addStyleToProtoChain(param1,DisplayObject(param2));
  78.             if(_loc8_.mx_internal::effects)
  79.             {
  80.                param2.registerEffects(_loc8_.mx_internal::effects);
  81.             }
  82.             _loc6_++;
  83.          }
  84.          _loc7_ = param2.styleName;
  85.          if(_loc7_)
  86.          {
  87.             if(typeof _loc7_ == "object")
  88.             {
  89.                if(_loc7_ is CSSStyleDeclaration)
  90.                {
  91.                   _loc9_ = CSSStyleDeclaration(_loc7_);
  92.                }
  93.                else
  94.                {
  95.                   param1 = addProperties(param1,IStyleClient(_loc7_),param3);
  96.                }
  97.             }
  98.             else
  99.             {
  100.                _loc9_ = StyleManager.getStyleDeclaration("." + _loc7_);
  101.             }
  102.             if(_loc9_)
  103.             {
  104.                param1 = _loc9_.mx_internal::addStyleToProtoChain(param1,DisplayObject(param2));
  105.                if(_loc9_.mx_internal::effects)
  106.                {
  107.                   param2.registerEffects(_loc9_.mx_internal::effects);
  108.                }
  109.             }
  110.          }
  111.          if(param2.styleDeclaration)
  112.          {
  113.             param1 = param2.styleDeclaration.mx_internal::addStyleToProtoChain(param1,DisplayObject(param2));
  114.          }
  115.          return param1;
  116.       }
  117.       
  118.       public static function initTextField(param1:UITextField) : void
  119.       {
  120.          var _loc2_:Object = null;
  121.          var _loc3_:CSSStyleDeclaration = null;
  122.          var _loc4_:Object = null;
  123.          var _loc5_:Object = null;
  124.          _loc2_ = param1.styleName;
  125.          if(_loc2_)
  126.          {
  127.             if(typeof _loc2_ == "object")
  128.             {
  129.                if(!(_loc2_ is CSSStyleDeclaration))
  130.                {
  131.                   param1.inheritingStyles = IStyleClient(_loc2_).inheritingStyles;
  132.                   param1.nonInheritingStyles = IStyleClient(_loc2_).nonInheritingStyles;
  133.                   return;
  134.                }
  135.                _loc3_ = CSSStyleDeclaration(_loc2_);
  136.             }
  137.             else
  138.             {
  139.                _loc3_ = StyleManager.getStyleDeclaration("." + _loc2_);
  140.             }
  141.          }
  142.          _loc4_ = IStyleClient(param1.parent).inheritingStyles;
  143.          _loc5_ = StyleManager.mx_internal::stylesRoot;
  144.          if(!_loc4_)
  145.          {
  146.             _loc4_ = StyleManager.mx_internal::stylesRoot;
  147.          }
  148.          if(_loc3_)
  149.          {
  150.             _loc4_ = _loc3_.mx_internal::addStyleToProtoChain(_loc4_,param1);
  151.             _loc5_ = _loc3_.mx_internal::addStyleToProtoChain(_loc5_,param1);
  152.          }
  153.          param1.inheritingStyles = _loc4_;
  154.          param1.nonInheritingStyles = _loc5_;
  155.       }
  156.    }
  157. }
  158.  
  159.